1. Field of the Invention
The present invention relates to a receiver for receiving navigation messages such as satellite time data, satellite orbit data, etc. from artificial satellites in a global positioning system to determine the position of a user of the global positioning system.
2. Description of the Prior Art
There are known global positioning systems (GPS) for determining the position of a user based on navigation messages from a plurality of artificial satellites orbiting around the earth.
Each of the artificial satellites transmits a signal which is produced by spectrally spreading a navigation message with pseudo random noise (having a chip frequency of 1.023 MHz) and modulating a carrier (having a frequency of 1,575.42 MHz or 1227.6 MHz) with the spectrally spread signal by way of phase-shift keying (PSK).
Since the artificial satellites employ pseudo random noise of different code patterns, a GPS receiver can separately receive the navigation messages from the respective artificial satellites by using pseudo random noise of corresponding code patterns.
A process of determining the position (xu, yu, zu) of a user based on navigation messages from four artificial satellites will be described below.
As well known in the art, the navigation message from each artificial satellite contains satellite time data, satellite orbit data, etc. Each artificial satellite keeps a GPS time scale which is atomic time. The GPS time scale is started from 0 o'clock, coordinated universal time (UTC), Jan. 6, 1980 as 0 o'clock, GPS time, Jan. 6, 1980.
As shown in FIG. 1 of the accompanying drawings, the time bases according to the time data contained in the navigation messages from the respective artificial satellites are indicated by SV1, SV2, SV3, SV4, respectively, and the time base according to the time data of the user is indicated by SVu. When the data from the artificial satellites are received by the user at a time tu, these data have been transmitted from the respective artificial satellites at times t1, t2, t3, t4, respectively.
Therefore, distances r1, r2, r3, r4 from the user position (xu, yu, zu) to the respective positions (xi, yi, zi) (i=1, 2, 3, 4) of the artificial satellites are represented by: EQU r1=C.times.(tu-t1), EQU r2=C.times.(tu-t2), EQU r3=C.times.(tu-t3), EQU r4=C.times.(tu-t4) (1)
where C is the speed of light.
From the above equations (1), there are derived four equations (2) given below. The positions (xi, yi, zi) (i=1, 2, 3, 4) of the artificial satellites are calculated based on the orbit data contained in the navigation messages from the respective artificial satellites. ##EQU1##
By solving the simultaneous linear equations (2), the user position (xu, yu, zu) can be determined. Since the equations (2) can be calculated with the time tu being unknown, the receiver of the user is not required to have an expensive atomic clock.
The format of the navigation messages from the artificial satellites will be described below with reference to FIGS. 2A, 2B, 2C and 3A, 3B, 3C of the accompanying drawings.
The navigation messages have a bit rate of 50 bps, and have main frames each composed of 1,500 bits. Therefore, it takes 30 seconds to transmit one main frame. Each main frame is divided into five subframes each composed of 300 bits. Therefore, one subframe can be transmitted in 6 seconds.
Each of the subframes includes an 8-bit preamble (synchronizing signal) at its starting end that is followed by a 17-bit subframe number TOWC (Time Of Week Count) which indicates the number of subframes counted from the start of the week. In the subframe 1, the TOWC is followed by a 10-bit WN (Week Number). FIG. 2A shows the first main frame of the first week starting from 0 o'clock, Jan. 6, 1980. FIG. 2B shows first four main frames of the nth week.
As show in FIG. 2C, each subframe is principally composed of 10 words each of 30 bits. It takes 600 msec. to transmit one word. 8 bits at the starting end of the word 1 serve as a preamble, and 17 bits at the starting end of the word 2 serve as TOWC. Each of the words 1 through 10 contains 6 error-correcting parity bits at its terminal end. The parity bits in each word are added for the error correction of the remaining 24 bits of the word and also the last 2 bits of the preceding word.
Since a navigation message has a bit rate of 50 bps, as described above, its bit period is 20 msec. as shown in FIG. 3B. FIG. 3A shows a subframe. The navigation messages of the above format are spectrally spread with pseudo random noise (see FIG. 3C) whose chip frequency is 1.023 MHz. The pseudo random noise has a code length (repetition period) of 1 msec., and the code lengths corresponding to 20 periods are equal to one bit of the navigation message. The period of one chip is approximately 1 .mu.sec.
The GPS receiver which receives the above navigation messages from the artificial satellites calculates the times t1, t2, t3, t4 on the respective time bases SV1, SV2, SV3, SV4 according to the following equation (3): ##EQU2## where i=1.about.4.
In the equation (3), the number of words counted is used as a word number WORDi, which is reset to 0 at the starting end of each subframe.
The number of bits counted is used as a bit number BITi, which is reset to 0 at the starting end of each word.
The number of repetition periods counted of the pseudo random noise used in reverse spreading is used as SEQi, which is reset to 0 at the starting end of each bit.
The number of chips counted is used as CHIPi, which is reset to 0 at the starting end of the repetition period of the pseudo random noise.
In the case where the GPS receiver is installed on an automobile, it tends to be brought out of synchronism with the pseudo random noise from the satellites when signals from the satellites are blocked by buildings, standing trees, or other obstacles. When the GPS receiver is out of synchronism with the pseudo random noise from the satellites, since the parameters TOWi, WORDi, BITi, etc. in the equation (3) cannot be determined, the user position (xu, yu, zu) cannot be calculated.
When the GPS receiver is brought out of synchronism with the pseudo random noise from the satellites, therefore, it is necessary to effect a synchronization process to determine the parameters TOWi, WORDi, BITi, etc. in the equation (3).
Whether the GPS receiver is brought out of synchronism or not can be determined by the magnitude of the level of a correlation output signal that is produced by spectrally reverse-spreading the received signals.
The conventional synchronization process is carried out as follows:
It is known that when the magnitude of the level of a correlation output signal that is produced by spectrally reverse-spreading the received signals exceeds a predetermined value, it is determined that the GPS receiver is in synchronism with the pseudo random noise from the satellites, and a bit synchronization process is effected on the basis of a bit stream that is produced by demodulating the output by way of PSK.
However, if it is determined that the receiver is not in synchronization with the pseudo random noise, it must be brought into synchronization. In order to synchronize the GPS receiver with the pseudo random noise, the phase of the pseudo random noise which is multiplied by the signals from the satellites by the spectral reverse spreading is adjusted. The time consumed after the GPS receiver is synchronized with the pseudo random noise until the bit synchronization process is completed is about 20 msec. because the bit period is 20 msec.
Once the bit synchronization is completed, CHIPi is determined from the count of chips of the pseudo random noise, and SEQi is determined from the count of repetition periods of the pseudo random noise with bit edges as a reference.
Then, a preamble is detected from a navigation message (bit stream). Since an 8-bit preamble is positioned at the starting end of each subframe, when a preamble is detected, WORDi and BITi are determined.
The time spent after the bit synchronization is determined until a preamble is detected is at least 6 seconds because the subframe period is 6 seconds.
Thereafter, TOWC is detected from a navigation message, determining TOWi. While the preamble is positioned at the starting end of the word 1, TOWC is positioned at the starting end of the word 2 with the word period being 600 msec. The time spent after the preamble is detected until TOWC is detected is about 600 msec.
Then, WN is detected from a navigation message. Inasmuch as WN is included in every 5 subframes, the time spent after TOWC is detected until WN is detected is at most 30 seconds. WN remains unchanged within the week, and hence the detection of WN is not required for the determination of WNi within the week.
Therefore, when the GPS receiver is brought out of synchronism with the pseudo random noise from the satellites, the parameters TOWi, WORDi, BITi, etc. can be determined by the above synchronization process, and the times ti (i=1.about.4) can be calculated, so that the user position (xu, yu, zu) can be determined.
The disadvantages with the above synchronization process, however, are that as long as 6 seconds may be required until a preamble is detected after the synchronization is detected, and about 600 msec. are additionally required until TOWC is detected.
In other words, in order to determine the parameters TOWi, WORDi, BITi, etc., as much as a little over 6 seconds are required after the synchronization is achieved. It is thus impossible to determine the user position, i.e., the position of the GPS receiver, before the elapse of those 6 seconds.